The invention relates to a method for managing a distributed system using a network as communicating means and, more particularly, to a managing method for enabling an application to use computing resources (distributed computing resources) which are distributed and exist in a plurality of computers connected to a network and include a processor, a file system, a magnetic disk storage, and the like.
In association with the recent spread of a network and low prices of computers, a number of computers are connected by the network. When an application is executed by using a plurality of computers connected to the network, a trend such that computing resources (distributed computing resources) distributed and existing in each computer are effectively used from the application is becoming strong. As individual computing resources (hereinafter, properly abbreviated to "resources"), for instance, various kinds such as processor, file, vacant capacity of a magnetic disk storage, and the like can be mentioned.
If the distributed computing environment connected by the network is used, for instance, when an application that is being executed on one computer intends to newly execute another application, by constructing in a rule such that another application is executed by another processor different from a processor in which the self application is operating, there are effects such that a response time is reduced, a capacity of a magnetic disk storage in which data can be newly written is increased, and a reliability upon execution of the application can be raised by distributing and arranging copies of a file to be treated.
However, even if the resources on all of the computers connected to the network are merely wired to the network, they cannot be always used from the application. Because of limitations such that using means is not provided, the use is not permitted, and the like, the distributed computing resources which are available for the application ordinarily become a certain subset of the resources (whole set) on all of the computers. Such a subset is called an "environment" in the following description. The invention relates to means for managing such an environment.
A technique which becomes one of the important elements when an application uses distributed computing resources is a technique to realize a nature called "transparency". The "transparency" denotes the nature such that an application can treat individual resources included in the environment in a manner similar to the resources existing on the same computer as the self computer without needing to be aware of the positions of the computers on the network where the resources actually exist.
To realize the transparency, many techniques have been proposed so far. For example, a Network File System (NFS) has been well known as software which handles a file as distributed computing resources. In such software, it is possible to access from a certain application to file systems distributed to a plurality of computers. As a technique for treating a processor as distributed computing resources, a Butler system of Carnegie-Mellon University can be mentioned. According to such a system, when one application newly executes an application, a processor of a small load is selected, thereby enabling the application to be executed there.
The NFS has been described in the literature "Andrew S. Tanenbaum, `Distributed Operating System`, Prentice-Hall, pp. 272-278, 1995". The Butler system has been described in the literature "David A. Nichols, `Using Idle Workstations in a Shared Computing Environment`, Proceedings of 11th Symposium on Operating Systems Principles, ACM, pp. 5-12, 1987". Both of them are typical systems for enabling the application to use the distributed computing resources and fundamentally have a structure as shown in FIG. 2.
FIG. 2 shows a state in which one or more applications 101 which are executed on a computer 100A use a resource 108 in another computer 100B as one of distributed computing resources by resource managers 102A and 102B (with respect to the resource managers for the NFS and there are denominations of rem and butler as for the Butler system; however, they are generally referred to as "resource managers" here). The applications 101 request the use of the resource 108 without being aware of in which computer the resource 108 actually exists (104). The resource managers are provided one by one for each computer. A utilizer 109 of the resource manager 102A of the computer 100A receives a request 104, refers to a resource table 103 held by itself (105), finds out the computer 100B having the resource 108, and transfers a request from the applications 101 to the resource manager 102B in the computer 100B via a network 5 (106). For a period of time from the reference to the resource table 103 to the transfer of the request to the resource manager 102B, there is also a case where a communication with a resource manager different from 102A and 102B is accompanied. The resource manager 102B receives a request from the resource manager 102A and generates a use request of the resource 108 (107) and returns a proper response in accordance with the request from the applications 101.
That is, by providing the resource managers 102A and 102B for each computer, the applications 101 don't need to prepare by themselves a function to access the computing resource on another computer and can easily use the distributed computing resources disclosed in the resource table 103 by using the resource managers 102A and 102B.
In the distributed computing environment in which the applications can use the distributed computing resources by the existence of the resource managers as mentioned above, a case where the available computing resource is increased due to some reasons will now be considered. Generally, in such a case, if such a resource which was newly made available can be added to the resources which have been managed by the resource managers so far, an effect such that the application is derived by the effective use of the distributed computing resources can be further enhanced.
With respect to such an expansion of the environment, for example, in the NFS, there has been provided means constructed in a manner such that only the user having a certain privilege designates a computing resource (in case of the NFS, file system) to be added, thereby newly adding the file system into a resource table as a management target of the resource managers. In the Butler system, there is provided a function such that when the resource manager is activated on a certain computer, information to use a processor of such a computer is added into a resource table of another resource manager by a file shared by a distributed file system.
When paying attention to the application, on the other hand, in recent years, the number of applications each for performing a cooperative processing together with another application by a communication through a wide area network has been increased. A system called a client server model is generally used as a cooperative processing system between the applications. In the client server model, an application (server) which provides a certain function as a computer service is executed on a certain computer and another application (client) which intends to use the computer service communicates with the server via the wide area network and notifies a self request. The server accepts the request from the client, executes a target process, and returns a response to the client.
It is a feature when a plurality of applications including the client server model execute the cooperative processing through the wide area network that the plurality of applications which are not concerned with each other in terms of the program and a geometric viewpoint newly start a communication during the execution of the processing and, after that, execute the cooperative processing.